home *** CD-ROM | disk | FTP | other *** search
/ Interactive Media Design Review 1999 / Interactive Media Design Review 1999.iso / pc / Demos / Bombardier_PC / DATACH.CST / 00143_Script_143 < prev    next >
Text File  |  1999-03-07  |  10KB  |  318 lines

  1. -- misc database routines
  2. global dbHandle, qdhandle, rshandle
  3.  
  4. -- fill competitor list for popup
  5. on getAircrafts
  6.   global currentChartName, currentplane
  7.   InitDB "aircraft.mdb"
  8.   set ccn = spacetounderscore(currentChartName)
  9.   if currentChartName = "Range_maps" then
  10.     set ccn = "all"
  11.   end if
  12.   set qdHandle =DGQDOpen("Competitors_per_config",dbHandle)
  13.   if qdHandle="#ERROR" then
  14.     alert "Error:"&&GetLastDGError()
  15.   end if
  16.   if DGQDsetParameterValue("Model", currentplane, qdhandle) = "#ERROR#" then 
  17.     put "p:"&&GetLastDGError()
  18.   end if
  19.   if   DGQDsetParameterValue("task", ccn, qdhandle) = "#ERROR#" then 
  20.     put "p:"&&GetLastDGError()
  21.   end if
  22.   set rsHandle=DGQDCreateRS(qdHandle)
  23.   if rsHandle = "#ERROR#" then
  24.     --    alert "error reading competitors"
  25.     nothing
  26.   else
  27.     put "" into  field "mdl_field"
  28.     Repeat while not DGRSIsEof(rsHandle)
  29.       set val=DGRSGetFieldValue("Competitor",rsHandle)
  30.       set cline = the linecount of member "mdl_field"
  31.       put val&"" into line cline+1 of field "mdl_field"
  32.       --    put val
  33.       DGRSMoveNext(rsHandle)
  34.     end repeat
  35.     set cline = the linecount of member "mdl_field"
  36.     put "NONE"&"" into line cline+1 of field "mdl_field"
  37.     if DGQDIsOpen(qdhandle) then
  38.       DGQDClose(qdhandle)
  39.     end if 
  40.     if DGRSIsOpen(rsHandle) then 
  41.       DGRSClose(rsHandle)
  42.     end if 
  43.     --  dbhandle(mdispose)
  44.   end if
  45.   compcheck
  46.   --  InitDBch 
  47. end
  48. -- hide competitor triangle and type for each section
  49. on compcheck
  50.   global compdrawplace
  51.   if the linecount of member "mdl_field" < 2 then
  52.     if compdrawplace = "performance" then
  53.       killsprite 46
  54.       killsprite 29
  55.       killsprite 5
  56.       killsprite 3
  57.       killsprite 39
  58.     end if
  59.     if compdrawplace = "specs" then
  60.       killsprite 50
  61.       killsprite 51
  62.       killsprite 44
  63.     end if
  64.     if compdrawplace = "maps" then
  65.       killsprite 35
  66.       killsprite 41
  67.     end if
  68.     if compdrawplace = "hourly" then
  69.       killsprite 5
  70.       killsprite 20
  71.       killsprite 45
  72.     end if
  73.     if compdrawplace = "Annual" then
  74.       killsprite 5
  75.       killsprite 44
  76.       killsprite 45
  77.     end if
  78.   end if
  79. end
  80.  
  81. on killsprite spritenum
  82.   puppetsprite spritenum, true
  83.   set the visible of sprite spritenum = false
  84. end
  85.  
  86.  
  87.  
  88. -- get chart names for popup menu
  89. on getchartnames
  90.   global currentChartName, currentplane
  91.   InitDB "aircraft.mdb"
  92.   set qdHandle =DGQDOpen("ChartNames",dbHandle)
  93.   if qdHandle="#ERROR" then
  94.     alert "Error:"&&GetLastDGError()
  95.   end if
  96.   if DGQDsetParameterValue("Model", currentplane, qdhandle) = "#ERROR#" then 
  97.     put "p:"&&GetLastDGError()
  98.   end if
  99.   set rsHandle=DGQDCreateRS(qdHandle)
  100.   if rsHandle = "#ERROR#" then
  101.     alert "Chart DB Error"
  102.   else
  103.     put "" into  field "chart_field"
  104.     Repeat while not DGRSIsEof(rsHandle)
  105.       set val=DGRSGetFieldValue("Chart",rsHandle)
  106.       set val=underscoretospace(val)
  107.       set cline = the linecount of member "chart_field"
  108.       put val&"" into line cline+1 of field "chart_field"
  109.       --    put val
  110.       DGRSMoveNext(rsHandle)
  111.     end repeat
  112.     if DGQDIsOpen(qdhandle) then
  113.       DGQDClose(qdhandle)
  114.     end if 
  115.     if DGRSIsOpen(rsHandle) then 
  116.       DGRSClose(rsHandle)
  117.     end if 
  118.     --  dbhandle(mdispose)
  119.     --    InitDBch 
  120.   end if
  121.   set currentChartName = line 1 of field "chart_field"
  122. end
  123.  
  124. -- get cost of ownership hours for popup menu
  125. on getOcHours
  126.   global currentChartName, currentplane
  127.   InitDB "aircraft.mdb"
  128.   set qdHandle =DGQDOpen("OC_HoursValues",dbHandle)
  129.   if qdHandle="#ERROR" then
  130.     alert "Error:"&&GetLastDGError()
  131.   end if
  132.   if DGQDsetParameterValue("Model", currentplane, qdhandle) = "#ERROR#" then 
  133.     put "p:"&&GetLastDGError()
  134.   end if
  135.   set rsHandle=DGQDCreateRS(qdHandle)
  136.   put "" into  field "Hours_field"
  137.   Repeat while not DGRSIsEof(rsHandle)
  138.     set val=DGRSGetFieldValue("Hours",rsHandle)
  139.     if (DGRSGetFieldValue("Conklin",rsHandle)=1) then set val = "Conklin"
  140.     set cline = the linecount of member "Hours_field"
  141.     put val&"" into line cline+1 of field "Hours_field"
  142.     --    put val
  143.     DGRSMoveNext(rsHandle)
  144.   end repeat
  145.   --  set cline = the linecount of member "Hours_field"
  146.   --  put "NONE"&"" into line cline+1 of field "Hours_field"
  147.   if DGQDIsOpen(qdhandle) then
  148.     DGQDClose(qdhandle)
  149.   end if 
  150.   if DGRSIsOpen(rsHandle) then 
  151.     DGRSClose(rsHandle)
  152.   end if 
  153.   --  dbhandle(mdispose)
  154.   --  InitDBch 
  155.   set the text of field "bar_hours" = "Conklin"
  156. end
  157.  
  158. -- get regions for popup menu
  159. on getOcRegions
  160.   global currentChartName, currentplane
  161.   InitDB "aircraft.mdb"
  162.   set qdHandle =DGQDOpen("OC_RegionValues",dbHandle)
  163.   if qdHandle="#ERROR" then
  164.     alert "Error:"&&GetLastDGError()
  165.   end if
  166.   if DGQDsetParameterValue("Model", currentplane, qdhandle) = "#ERROR#" then 
  167.     put "p:"&&GetLastDGError()
  168.   end if
  169.   set rsHandle=DGQDCreateRS(qdHandle)
  170.   put "" into  field "Region_field"
  171.   Repeat while not DGRSIsEof(rsHandle)
  172.     set val=DGRSGetFieldValue("Region",rsHandle)
  173.     set cline = the linecount of member "Region_field"
  174.     put val&"" into line cline+1 of field "Region_field"
  175.     --    put val
  176.     DGRSMoveNext(rsHandle)
  177.   end repeat
  178.   --  set cline = the linecount of member "Region_field"
  179.   --  put "NONE"&"" into line cline+1 of field "Region_field"
  180.   if DGQDIsOpen(qdhandle) then
  181.     DGQDClose(qdhandle)
  182.   end if 
  183.   if DGRSIsOpen(rsHandle) then 
  184.     DGRSClose(rsHandle)
  185.   end if 
  186.   --  dbhandle(mdispose)
  187.   --  InitDBch 
  188.   set the text of field "bar_Region" = line 1 of field "Region_field"
  189. end
  190.  
  191. -- get defaults for bars 
  192. on getOCdefaults
  193.   global currentChartName, currentplane
  194.   InitDB "aircraft.mdb"
  195.   set qdHandle =DGQDOpen("Default_ValuesQ",dbHandle)
  196.   if qdHandle="#ERROR" then
  197.     alert "Error:"&&GetLastDGError()
  198.   end if
  199.   set rsHandle=DGQDCreateRS(qdHandle)
  200.   set def_fuel=DGRSGetFieldValue("Default Fuel Rate",rsHandle)
  201.   if def_fuel = "#ERROR#" then
  202.     put "Error:"&&GetLastDGError()
  203.   end if
  204.   set def_labor=DGRSGetFieldValue("Default Labor Rate",rsHandle)
  205.   if def_labor = "#ERROR#" then
  206.     put "Error:"&&GetLastDGError()
  207.   end if
  208.   set the floatPrecision = 2
  209.   set the text of field "DefaultFuel" = "$ " & string(value(def_fuel))
  210.   set the text of field "DefaultLabor" = "$ " & string(value(def_labor))
  211.   if DGQDIsOpen(qdhandle) then
  212.     DGQDClose(qdhandle)
  213.   end if 
  214.   if DGRSIsOpen(rsHandle) then 
  215.     DGRSClose(rsHandle)
  216.   end if 
  217. end
  218.  
  219. -- set up assumtion text for printing
  220.  
  221. on getAssumptions
  222.   global fixedChartName,currentchartname, currentplane, Out_Text
  223.   global DDDRECORD, qddhandle
  224.   InitDB "aircraft.mdb"
  225.   set fixedchartname = spacetounderscore(currentchartname)
  226.   set currentcompetitor = the text of field "displane"
  227.   set Out_Text = ""
  228.   set qdHandle =DGQDOpen("AssumptionText",dbHandle)
  229.   if qdHandle="#ERROR" then
  230.     alert "Error:"&&GetLastDGError()
  231.   end if
  232.   if DGQDsetParameterValue("Chart Name", fixedChartName, qdhandle) = "#ERROR#" then 
  233.     put "p:"&&GetLastDGError()
  234.   end if
  235.   set DBRECORD=DGQDCreateRS(qdHandle)
  236.   Repeat while not DGRSIsEof(DBRECORD)
  237.     set Bshowboth = DGRSGetFieldValuech("Display_Both",DBRECORD)
  238.     set Bshowplane = DGRSGetFieldValuech("Show_Plane_Name",DBRECORD)
  239.     set Bnextline = DGRSGetFieldValuech("Next_Line",DBRECORD)
  240.     set pretext = DGRSGetFieldValuech("Pre_text",DBRECORD)
  241.     set Param_Name = DGRSGetFieldValuech("Field_Name",DBRECORD)
  242.     set posttext = DGRSGetFieldValuech("Post_text",DBRECORD)
  243.     if Bnextline then 
  244.       set posttext = posttext & RETURN
  245.     else
  246.       set posttext = posttext & ", "
  247.     end if    
  248.     if Bshowplane then set Out_Text = Out_Text & currentplane
  249.     set Out_Text = Out_Text & pretext
  250.     set lp = length(Param_Name)
  251.     if lp > 3 then
  252.       set clearqdflag = TRUE
  253.       set ix = offset(".", Param_Name)
  254.       set itable = char 1 to (ix-1) of Param_Name
  255.       set iparam = char (ix+1) to lp of Param_Name
  256.       set iqx = "Q_" & itable
  257.       
  258.       set qddHandle =DGQDOpen(iqx,dbHandle)
  259.       if qddHandle="#ERROR" then
  260.         alert "Error:"&&GetLastDGError()
  261.       end if
  262.       if DGQDsetParameterValue("Model", currentplane, qddhandle) = "#ERROR#" then
  263.         put "p:"&&GetLastDGError()
  264.       end if
  265.       set DDDRECORD=DGQDCreateRS(qddHandle)
  266.       --      
  267.       --      
  268.       --      set isql = "SELECT * FROM " & itable
  269.       --      set DDDRECORD = DGcreateRecordset(isql, DBHANDLE)
  270.       --      set chquery = "Aircraft = " & QUOTE & currentplane & QUOTE
  271.       --      set outresult =DGRSfindFirst(chquery, DDDRECORD) 
  272.       set paramValue = DGRSGetFieldValuech(iparam,DDDRECORD)
  273.       set Out_Text = Out_Text && formatch(paramValue)
  274.     end if
  275.     set Out_Text = Out_Text && posttext
  276.     if Bshowboth then
  277.       if (length(currentcompetitor) > 4) and (currentcompetitor<>"No Competitor") then
  278.         if Bshowplane then set Out_Text = Out_Text && currentcompetitor
  279.         set Out_Text = Out_Text && pretext
  280.         set lp = length(Param_Name)
  281.         if lp > 3 then
  282.           set ix = offset(".", Param_Name)
  283.           set itable = char 1 to (ix-1) of Param_Name
  284.           set iparam = char (ix+1) to lp of Param_Name
  285.           set isql = "SELECT * FROM " & itable
  286.           set DDDRECORD = DGcreateRecordset(isql, DBHANDLE)
  287.           set chquery = "Aircraft = " & QUOTE & currentcompetitor & QUOTE
  288.           set outresult =DGRSfindFirst(chquery, DDDRECORD) 
  289.           set paramValue = DGRSGetFieldValuech(iparam,DDDRECORD)
  290.           set Out_Text = Out_Text && formatch(paramValue)
  291.         end if
  292.         set Out_Text = Out_Text && posttext
  293.       end if
  294.     end if
  295.     DGRSMoveNext(DBRECORD)
  296.     if clearqdflag then
  297.       if DGQDIsOpen(qddhandle) then
  298.         DGQDClose(qddhandle)
  299.       end if 
  300.       if DGRSIsOpen(DDDRECORD) then 
  301.         DGRSClose(DDDRECORD)
  302.       end if 
  303.       set clearqdflag = FALSE
  304.     end if
  305.   end repeat
  306.   delete the last char of Out_Text
  307.   --  put Out_Text
  308.   if DGQDIsOpen(qdhandle) then
  309.     DGQDClose(qdhandle)
  310.   end if 
  311.   if DGRSIsOpen(DBRECORD) then 
  312.     DGRSClose(DBRECORD)
  313.   end if 
  314. end
  315.  
  316.  
  317.  
  318.